草庐IT

python - 查找在 : Block 中定义的函数

全部标签

ruby - block 定义 - 大括号和 do-end 之间的区别?

谁能解释为什么下面的代码会因错误而中止irb(main):186:0>print((1..10).collectdo|x|x**2end)SyntaxError:(irb):186:syntaxerror,unexpectedkeyword_do_block,expecting')'print((1..10).collectdo|x|x**2end)^(irb):186:syntaxerror,unexpectedkeyword_end,expecting$endprint((1..10).collectdo|x|x**2end)^from/usr/bin/irb:12:in`'而以下

ruby - require ruby​​gems 如何帮助查找 ruby​​gem 文件?

在尝试解决Gemfoundinirb,notinRuby时,我试着看看require'rubygems'对我自己的安装有什么影响:$irbirb(main):001:0>RUBY_VERSION=>"1.8.7"irb(main):002:0>$:["/usr/local/lib/site_ruby/1.8","/usr/local/lib/site_ruby/1.8/x86_64-linux","/usr/local/lib/site_ruby","/usr/lib/ruby/vendor_ruby/1.8","/usr/lib/ruby/vendor_ruby/1.8/x86_64

Ruby block 和未加括号的参数

我提取了简单的例子:require'pp'x=1..3ppx.mapdo|i|{:value=>i,:double=>(i*2)}endppx.map{|i|{:value=>i,:double=>(i*2)}}pp(x.mapdo|i|{:value=>i,:double=>(i*2)}end)pp(x.map{|i|{:value=>i,:double=>(i*2)}})我想知道为什么firstpp会产生:[1,2,3]当所有订单都在给出时:[{:value=>1,:double=>2},{:value=>2,:double=>4},{:value=>3,:double=>6}]我

ruby-on-rails - Google-maps-for-Rails - rake 任务中(对象)的未定义方法 `gmaps'

当我运行涉及启用了gmaps4rails的模型的rake任务时,我收到此错误,如果我评论该模型,使其不是acts_as_gmappable,它会正确完成。entercodeheretroy$rakepopulate:scans--trace**Invokepopulate:scans(first_time)**Invokeenvironment(first_time)**Executeenvironment**Executepopulate:scanshttp://goo.gl/fb/977zeSat,16Jul201119:43:59GMT47.676506-122.12187291

通过传递构造函数的 Ruby YAML 解析器

我正在开发一个应用程序,该应用程序从YAML文件获取输入,将它们解析为对象,然后让它们执行它们的操作。我现在遇到的唯一问题是YAML解析器似乎忽略了对象“初始化”方法。我指望构造函数用默认值填充YAML文件缺少的任何实例变量,并将一些东西存储在类变量中。这是一个例子:classTest@@counter=0definitialize(a,b)@a=a@b=b@a=29if@b==3@@counter+=1enddefself.how_manyp@@counterendattr_accessor:a,:bendrequire'YAML'a=Test.new(2,3)s=a.to_yaml

ruby - Wicked-PDF 不显示图像, 'wicked_pdf_image_tag' 未定义

我想生成一个包含我们部门Logo的PDF。当我尝试在我的Controller中使用WickedPdf类时(使用https://github.com/mileszs/wicked_pdf中描述的方法):defsome_actionimage_tag_string=image_tag('logo.jpg')pdf=WickedPdf.new.pdf_from_string(image_tag_string)save_path=Rails.root.join('testpdfs','logotest.pdf')File.open(save_path,'wb')do|file|file...应

ruby - 时间 :Class after requiring active_support/time_with_zone 的未定义方法 `zone`

我在使用Ruby2.2.1并安装了active_support4.2,所以我想使用Time.zone.parse('2007-02-1015:30:45')如此处所述:http://api.rubyonrails.org/classes/ActiveSupport/TimeWithZone.html但即使在需要active_support和active_support/time_with_zone之后,我觉得Time.zone仍然不起作用。观察:2.2.1:002>require"active_support"=>true2.2.1:003>Time.zoneNoMethodError

ruby - 重写简单的 ruby​​ 函数以使用 block

我不知道正确的术语。我试图用谷歌搜索它,但由于这个原因找不到任何东西。我正在编写一个Ruby库,我想重写这些函数,以便它们像下面那样工作,因为我更喜欢它的可读性(在一个block内?)我有一个函数可以做到这一点@dwg=Dwg.new("test.dwg")@dwg.line([0,0,0],[1,1,0])@dwg.save我想重写它,让它像这样工作Dwg.new("test.dwg")doline([0,0,0],[1,1,0])saveend你能概述一下我处理这件事的方法吗? 最佳答案 您可以定义Dwg的初始化程序来获取一个b

ruby - 使用 sinatra 在 block 之间传递数据

我正在尝试使用sinatra在block之间传递数据。例如:@data=Hash.newpost"/"do@data[:test]=params.fetch("test").to_sredirect"/tmp"endget"/tmp"doputs@data[:test]end但是,每当我到达tmpblock时,@data为nil并抛出错误。这是为什么? 最佳答案 原因是因为浏览器实际上执行了两个单独的HTTP请求。Request:POST/Response:301->Location:/tmpRequest:GET/tmpRespo

ruby-on-rails - Ruby block 语法错误

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Rubyblockandunparenthesizedarguments我不确定我是否理解这个语法错误。我正在使用Carrierwave来管理Rails应用程序中的一些文件上传,但我似乎错误地向其中一种方法传递了一个block。这是CarrierwaveDocs中的示例:version:thumbdoprocess:resize_to_fill=>[200,200]end这是我得到的:version:full{process(:resize_to_limit=>[960,960])}version:half{